For efficiency, reliability and other reasons, computing platforms often have a “standardized” abstraction layer through which operations on hardware resources of the platforms may be performed. For example, for personal computer (PC) platforms, Advanced Configuration and Power Interface (ACPI) Specification v2.0 provides for a System Description Table architecture to abstract operations that may be performed on various hardware resources of a platform. Typically, a shared interpreter is provided to effectuate performance of the operations, by interpetively executing appropriate ones of the instructions stored in the System Description Table, on request. Often times, the operating system (OS) includes a scheduler which responsibilities include scheduling execution of the shared interpreter.
Accordingly, during operation, when a need arrives to perform an operation on a hardware resource, e.g. the device driver of the hardware resource, the device driver would submit a request to an operating system service, which in due course results in the scheduler of the OS in scheduling the shared interpreter for execution. When given execution control, the shared interpreter accesses and retrieves the applicable instructions, and interpretively executes the retrieved instructions, effectuating performance of the operation on the hardware resource. Examples of hardware resources may include but are not limited to, memory, co-processors, communication interfaces and so forth.
The prior art suffers from at least the disadvantage that prior to the loading of the shared interpreter and the scheduler (e.g. during system start up), it is unable to service any component with a need to perform an operation on a hardware resource through the abstraction layer. Resultantly, each component with such a need is left to attend to the need itself, without the benefit of abstraction. For example, a basic input/output system (BIOS) service may need to perform an operation on a watch dog timer during start up, prior to the loading and availability of the shared interpreter and/or the scheduler.